package com.eseo.munchkinarbiter;

public abstract class GameChangeListener {
	
	public void onCurrentPlayerChanged(GameData gameData, PlayerStats player) {
		onPlayerNameChanged(gameData, player);
		onWarriorStateChanged(gameData, player);
		onPlayerLevelChanged(gameData, player);
		onPlayerGearChanged(gameData, player);
		onPlayerStrengthChanged(gameData, player);
	}
	
	public void onPlayerNameChanged(GameData gameData, PlayerStats player) {}
	
	public void onWarriorStateChanged(GameData gameData, PlayerStats player) {
		onFightResultChanged(gameData);
	}
	
	public void onPlayerLevelChanged(GameData gameData, PlayerStats player) {
		onPlayerStrengthChanged(gameData, player);
	}
	
	public void onPlayerGearChanged(GameData gameData, PlayerStats player) {
		onPlayerStrengthChanged(gameData, player);
	}
	
	public void onPlayerStrengthChanged(GameData gameData, PlayerStats player) {
		onPlayerFightStrengthChanged(gameData);
	}
	
	public void onMonsterLevelChanged(GameData gameData) {
		onFightResultChanged(gameData);
	}
	
	public void onMonsterModChanged(GameData gameData) {
		onFightResultChanged(gameData);
	}
	
	public void onPlayerModChanged(GameData gameData) {
		onFightResultChanged(gameData);
	}
	
	public void onPlayerFightStrengthChanged(GameData gameData) {
		onFightResultChanged(gameData);
	}
	
	public void onHelpPlayerChanged(GameData gameData) {
		onPlayerFightStrengthChanged(gameData);
	}
	
	public void onFightResultChanged(GameData gameData) {}
}
